home *** CD-ROM | disk | FTP | other *** search
- % IBM line drawing characters
-
- FontDirectory /IBMLine known not {
- 33 dict dup begin
-
- /mtrx matrix def
-
- /FontType 3 def
-
- /FontMatrix [.001 0 0 .001 0 0] def
-
- /FontBBox [0 -280 600 720] def
-
- /Encoding 256 array def
- Encoding
-
- dup 176 /25gray put
- dup 184 /type1NE put
- dup 177 /50gray put
- dup 185 /dblE put
- dup 178 /75gray put
- dup 186 /dblVERT put
- dup 179 /sVERT put
- dup 187 /dblNE put
- dup 180 /sE put
- dup 188 /dblSE put
- dup 181 /type1E put
- dup 189 /type2SE put
- dup 182 /type2E put
- dup 190 /type1SE put
- dup 183 /type2NE put
- dup 191 /sNE put
- dup 192 /sSW put
- dup 200 /dblSW put
- dup 193 /sS put
- dup 201 /dblNW put
- dup 194 /sN put
- dup 202 /dblS put
- dup 195 /sW put
- dup 203 /dblN put
- dup 196 /sHORIZ put
- dup 204 /dblW put
- dup 197 /sCENTER put
- dup 205 /dblHORIZ put
- dup 198 /type1W put
- dup 206 /dblCENTER put
- dup 199 /type2W put
- dup 207 /type1S put
- dup 208 /type2S put
- dup 216 /type1CENTER put
- dup 209 /type1N put
- dup 217 /sSE put
- dup 210 /type2N put
- dup 218 /sNW put
- dup 211 /type2SW put
- dup 219 /solidbox put
- dup 212 /type1SW put
- dup 220 /solidbottom put
- dup 213 /type1NW put
- dup 221 /solidleft put
- dup 214 /type2NW put
- dup 222 /solidright put
- dup 215 /type2CENTER put
- dup 223 /solidtop put
- 255 /.notdef put
-
- /CharacterDefs 256 dict def
- CharacterDefs begin
-
- /.notdef {} def
-
- /25gray { newpath
- 0 -280 moveto 0 720 lineto 600 720 lineto 600 -280 lineto
- closepath
- .75 setgray fill
- } def
-
- /50gray { newpath
- 0 -280 moveto 0 720 lineto 600 720 lineto 600 -280 lineto
- closepath
- .50 setgray fill
- } def
-
- /75gray { newpath
- 0 -280 moveto 0 720 lineto 600 720 lineto 600 -280 lineto
- closepath
- .25 setgray fill
- } def
-
- /sVERT { newpath
- 300 -280 moveto 300 720 lineto
- 40 setlinewidth stroke
- } def
-
- /sE { newpath
- 300 -280 moveto 300 720 lineto
- 0 220 moveto 300 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type1E { newpath
- 300 720 moveto 300 -280 lineto
- 0 320 moveto 300 320 lineto
- 0 120 moveto 300 120 lineto
- 40 setlinewidth stroke
- } def
-
- /type2E { newpath
- 200 720 moveto 200 -280 lineto
- 400 720 moveto 400 -280 lineto
- 0 220 moveto 200 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type2NE { newpath
- 0 220 moveto 400 220 lineto 400 -280 lineto
- 200 220 moveto 200 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /type1NE { newpath
- 0 320 moveto 300 320 lineto 300 -280 lineto
- 0 120 moveto 300 120 lineto
- 40 setlinewidth stroke
- } def
-
- /dblE { newpath
- 0 320 moveto 200 320 lineto 200 720 lineto
- 0 120 moveto 200 120 lineto 200 -280 lineto
- 400 720 moveto 400 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /dblVERT { newpath
- 200 720 moveto 200 -280 lineto
- 400 720 moveto 400 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /dblNE { newpath
- 0 320 moveto 400 320 lineto 400 -280 lineto
- 0 120 moveto 200 120 lineto 200 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /dblSE { newpath
- 0 320 moveto 200 320 lineto 200 720 lineto
- 0 120 moveto 400 120 lineto 400 720 lineto
- 40 setlinewidth stroke
- } def
-
- /type2SE { newpath
- 0 220 moveto 400 220 lineto 400 720 lineto
- 200 720 moveto 200 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type1SE { newpath
- 0 120 moveto 300 120 lineto 300 720 lineto
- 0 320 moveto 300 320 lineto
- 40 setlinewidth stroke
- } def
-
- /sNE { newpath
- 0 220 moveto 300 220 lineto 300 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /sSW { newpath
- 300 720 moveto 300 220 lineto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /sS { newpath
- 0 220 moveto 600 220 lineto
- 300 220 moveto 300 720 lineto
- 40 setlinewidth stroke
- } def
-
- /sN { newpath
- 0 220 moveto 600 220 lineto
- 300 220 moveto 300 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /sW { newpath
- 300 720 moveto 300 -280 lineto
- 300 220 moveto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /sHORIZ { newpath
- 0 220 moveto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /sCENTER { newpath
- 300 720 moveto 300 -280 lineto
- 0 220 moveto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type1W { newpath
- 300 720 moveto 300 -280 lineto
- 300 320 moveto 600 320 lineto
- 300 120 moveto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /type2W { newpath
- 200 720 moveto 200 -280 lineto
- 400 720 moveto 400 -280 lineto
- 400 220 moveto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /dblSW { newpath
- 400 720 moveto 400 320 lineto 600 320 lineto
- 200 720 moveto 200 120 lineto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /dblNW { newpath
- 400 -280 moveto 400 120 lineto 600 120 lineto
- 200 -280 moveto 200 320 lineto 600 320 lineto
- 40 setlinewidth stroke
- } def
-
- /dblS { newpath
- 0 320 moveto 200 320 lineto 200 720 lineto
- 400 720 moveto 400 320 lineto 600 320 lineto
- 0 120 moveto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /dblN { newpath
- 0 320 moveto 600 320 lineto
- 400 -280 moveto 400 120 lineto 600 120 lineto
- 0 120 moveto 200 120 lineto 200 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /dblW { newpath
- 400 720 moveto 400 320 lineto 600 320 lineto
- 400 -280 moveto 400 120 lineto 600 120 lineto
- 200 720 moveto 200 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /dblHORIZ { newpath
- 0 320 moveto 600 320 lineto
- 0 120 moveto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /dblCENTER { newpath
- 0 320 moveto 200 320 lineto 200 720 lineto
- 0 120 moveto 200 120 lineto 200 -280 lineto
- 400 720 moveto 400 320 lineto 600 320 lineto
- 400 -280 moveto 400 120 lineto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /type1S { newpath
- 0 320 moveto 600 320 lineto
- 0 120 moveto 600 120 lineto
- 300 720 moveto 300 320 lineto
- 40 setlinewidth stroke
- } def
-
- /type2S { newpath
- 0 220 moveto 600 220 lineto
- 200 720 moveto 200 220 lineto
- 400 720 moveto 400 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type1N { newpath
- 0 320 moveto 600 320 lineto
- 0 120 moveto 600 120 lineto
- 300 120 moveto 300 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /type2N { newpath
- 0 220 moveto 600 220 lineto
- 200 220 moveto 200 -280 lineto
- 400 220 moveto 400 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /type2SW { newpath
- 200 720 moveto 200 220 lineto 600 220 lineto
- 400 220 moveto 400 720 lineto
- 40 setlinewidth stroke
- } def
-
- /type1SW { newpath
- 300 720 moveto 300 120 lineto 600 120 lineto
- 300 320 moveto 600 320 lineto
- 40 setlinewidth stroke
- } def
-
- /type1NW { newpath
- 300 -280 moveto 300 320 lineto 600 320 lineto
- 300 120 moveto 600 120 lineto
- 40 setlinewidth stroke
- } def
-
- /type2NW { newpath
- 200 -280 moveto 200 220 lineto 600 220 lineto
- 400 -280 moveto 400 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type2CENTER { newpath
- 200 720 moveto 200 -280 lineto
- 400 720 moveto 400 -280 lineto
- 0 220 moveto 200 220 lineto
- 400 220 moveto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /type1CENTER { newpath
- 0 320 moveto 600 320 lineto
- 0 120 moveto 600 120 lineto
- 300 720 moveto 300 320 lineto
- 300 120 moveto 300 -280 lineto
- 40 setlinewidth stroke
- } def
-
- /sSE { newpath
- 0 220 moveto 300 220 lineto 300 720 lineto
- 40 setlinewidth stroke
- } def
-
- /sNW { newpath
- 300 -280 moveto 300 220 lineto 600 220 lineto
- 40 setlinewidth stroke
- } def
-
- /solidbox { newpath
- 0 -280 moveto 0 720 lineto 600 720 lineto 600 -280 lineto
- closepath fill
- } def
-
- /solidbottom { newpath
- 0 -280 moveto 0 220 lineto 600 220 lineto 600 -280 lineto
- closepath fill
- } def
-
- /solidleft { newpath
- 0 -280 moveto 0 720 lineto 300 720 lineto 300 -280 lineto
- closepath fill
- } def
-
- /solidright { newpath
- 300 -280 moveto 300 720 lineto 600 720 lineto 600 -280 lineto
- closepath fill
- } def
-
- /solidtop { newpath
- 0 220 moveto 0 720 lineto 600 720 lineto 600 220 lineto
- closepath fill
- } def
-
- end
-
- /BuildChar { 0 begin
- /char exch def
- /fontdict exch def
- /charname fontdict /Encoding get char get def
- fontdict begin
- 600 0 setcharwidth
- CharacterDefs charname get exec
- end
- end
- } def
-
- /BuildChar load 0 3 dict put
- /UniqueID 1 def
- end
-
- /IBMLine exch definefont pop
- } if % not known
- % most essential non line drawing characters can be done via a remap
- /MapIBM {
- /ibmfont exch def
- /basefont exch def
- FontDirectory ibmfont known not {
- 12 dict begin
- %--- copy the COURIER font info into the new font array ------
- /newfont basefont findfont maxlength dict def
- newfont /FontName ibmfont put
- basefont findfont { exch dup /FID ne
- { dup /Encoding eq
- { exch dup length array copy newfont 3 1 roll put }
- { exch newfont 3 1 roll put } ifelse
- }
- { pop pop } ifelse
- } forall
- %---- foriegn characters - remap -----------------------------
- /charmap [
- 8#200 /Ccedilla 8#201 /udieresis 8#202 /eacute
- 8#203 /acircumflex 8#204 /adieresis 8#205 /agrave
- 8#206 /aring 8#207 /ccedilla 8#210 /ecircumflex
- 8#211 /edieresis 8#212 /egrave 8#213 /idieresis
- 8#214 /icircumflex 8#215 /igrave 8#216 /Adieresis
- 8#217 /Aring 8#220 /Eacute 8#221 /ae
- 8#222 /AE 8#223 /ocircumflex 8#224 /odieresis
- 8#225 /ograve 8#226 /ucircumflex 8#227 /ugrave
- 8#230 /ydieresis 8#231 /Odieresis 8#232 /Udieresis
- 8#233 /cent 8#234 /sterling 8#234 /yen
- 8#237 /florin 8#240 /aacute 8#241 /iacute
- 8#242 /oacute 8#243 /uacute 8#244 /ntilde
- 8#245 /Ntilde 8#246 /ordfeminine 8#247 /ordmasculine
- 8#250 /questiondown 8#255 /exclamdown 8#256 /guillemotleft
- 8#341 /germandbls ] def
- charmap aload pop
- charmap length 2 idiv { newfont /Encoding get 3 1 roll put } repeat
- %---- all done defining the font -----------------------------
- ibmfont newfont definefont pop
- end
- } if % known?
- } def
- % line drawing characters are defined in thier own font
-
- /Courier /IBMFont MapIBM
- /Courier-Oblique /IBM-Oblique MapIBM
- /Courier-Bold /IBM-Bold MapIBM
- /Courier-BoldOblique /IBM-BoldOblique MapIBM
-
- /leftmargin 25 def
- /lineheight 9 def
- /pagetop 540 def
- /sf { findfont 10 scalefont setfont } def
- /sfc { findfont [7 0 0 12 0 0] makefont setfont } def
-
- /markdict 1 dict def markdict begin
- /cleartomarkdict
- { {currentdict end /cleartomarkdict known {exit} if} loop} bind def
- end
- /restartpage true def
-
- /ck { restartpage { 560 0 translate 90 rotate leftmargin pagetop moveto
- /restartpage false def } if } def
-
- /ushow { ck
- dup stringwidth pop exch show gsave markdict begin mark exch
- { currentfont begin FontMatrix
- FontInfo begin 0 UnderlinePosition 2 index transform rmoveto
- UnderlineThickness 0 3 -1 roll transform pop setlinewidth
- end end neg 0 rlineto stroke
- } stopped
- pop cleartomarkdict cleartomark grestore
- } def
-
- /lsh { ck /IBMLine sf show } def
- /clsh { ck /IBMLine sfc show } def
- /sh { ck /IBMFont sf show } def
- /ish { ck /IBM-Oblique sf show } def
- /ush { /IBMFont sf ushow } def
- /uish { /IBM-Oblique sf ushow } def
- /bsh { ck /IBM-Bold sf show } def
- /ubsh { /IBM-Bold sf ushow } def
- /bish { ck /IBM-BoldOblique sf show } def
- /ubish { /IBM-BoldOblique sf ushow } def
- /csh { ck /IBMFont sfc show } def
- /cush { /IBMFont sfc ushow } def
- /cish { ck /IBM-Oblique sfc show } def
- /cuish { /IBM-Oblique sfc ushow } def
- /cbsh { ck /IBM-Bold sfc show } def
- /cubsh { /IBM-Bold sfc ushow } def
- /cbish { ck /IBM-BoldOblique sfc show } def
- /cubish{ /IBM-BoldOblique sfc ushow } def
- /cr { ck leftmargin currentpoint exch pop lineheight sub moveto } def
- /pf { showpage /restartpage true def } def
-